package com.shuiyun.jtt.enums;

/**
 * @author shuiyun
 * @description 常量
 * @date 2022-04-18 20:39
 */
public interface Constant {

    /**
     * 消息体长度字节码
     */
    public int BODY_LENGTH = 0b0000_0011_1111_1111;

    /**
     * 加密方式字节码
     */
    public int ENCRYPTION = 0b00011_100_0000_0000;

    /**
     * 分包字节码
     */
    public int SUBPACKAGE = 0b0010_0000_0000_0000;

    /**
     * 版本标识字节码
     */
    public int VERSION = 0b0100_0000_0000_0000;

    /**
     * 保留字段字节码
     */
    public int RESERVED = 0b1000_0000_0000_0000;

    /**
     * 协议标识符 1
     */
    public byte TAG_ONE = 0x7d;

    /**
     * 协议标识符 2
     */
    public byte[] TAG_TWO = new byte[]{0x7d, 0x01};

    /**
     * 协议标识符 3
     */
    public byte TAG_THREE = 0x7e;

    /**
     * 协议标识符 4
     */
    public byte[] TAG_FOUR = new byte[]{0x7d, 0x02};

    /**
     * 协议开始结束的标识符
     */
    public byte START_END = 0x7e;

    /**
     * 消息体最大长度
     */
    public int BODY_MAX_LENGTH = 1024;
}